/**	 
 * @Description 
 * @Path		com.bbx.taxi.util.DBUtil.java 
 * @Author		年向   
 * @Date		2015年5月9日 下午3:54:24 
 * @Company	 	蓝海（福建）信息技术有限公司	 
 */
package com.bbx.androidapi.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import android.content.Context;

/**
 * @Description
 * @Path com.bbx.taxi.util.DBUtil.java
 * @Author 年向
 * @Date 2015年5月9日 下午3:54:24
 * @Company 蓝海（福建）信息技术有限公司
 */
public class DBUtil {

	public static String fileName = File.separatorChar+"order";
	/** 获取文件路径 */
	public static String getFileName(Context context, String fileName) {
		return context.getFilesDir() + fileName;
	}

	public static boolean removeDate(Context context){
		return removeDate(context,getFileName(context, fileName));
	}
	
	public static boolean removeDate(Context context, String filePath) {
		try {
			File file = new File(filePath);
			if (file.exists()) {
				return file.delete();
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return false;
	}

	/** 创建文件 如果存在 */
	public static void existFile(File file) {
		try {
			if (!file.getParentFile().exists()) {
				file.getParentFile().mkdirs();
			}

			if (!file.exists()) {
				file.createNewFile();
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/** 获取数据 */
	public static Object getData(Context context  ) {
		FileInputStream fileInputStream = null;
		ObjectInputStream objectInputStream = null;
		try {
			fileInputStream = new FileInputStream(getFileName(context, fileName));
			objectInputStream = new ObjectInputStream(fileInputStream);
			return objectInputStream.readObject();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			clearIn(fileInputStream, objectInputStream);
		}
		return null;
	}

	/** 保存数据 */
	public static String putData(Context context, Object data) {
		FileOutputStream fileOutputStream = null;
		ObjectOutputStream objectOutputStream = null;
		try {
			File file = new File(getFileName(context, fileName));
			existFile(file);

			fileOutputStream = new FileOutputStream(file.toString());
			objectOutputStream = new ObjectOutputStream(fileOutputStream);
			objectOutputStream.writeObject(data);

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			clearOut(fileOutputStream, objectOutputStream);
		}
		return fileName;
	}

	/** 回收 */
	public static void clearIn(FileInputStream fis, ObjectInputStream ois) {
		if (fis != null) {
			try {
				fis.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		if (fis != null) {
			try {
				fis.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

	/** 回收 */
	public static void clearOut(FileOutputStream fos, ObjectOutputStream oos) {
		if (oos != null) {
			try {
				oos.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		if (fos != null) {
			try {
				fos.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}
